// packageI/newGroup/homeList/homeList.js
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    paramsId: 0,
    searchText: '',

    explainFlag: false,

    tabs_list: [],
    tabs_index: 0,
    banner_list: [],

    page: 1, //分页数，当前页数
    isLoadMore: true, //判断是否要加载更多的标志
    total_page: 0, //总页数
    listData: [],
    networkLoading: false,

    explainText: "",

    firstLoading: false, //第一次加载，后面只设置listData
    shareConfig: {},
    Height: 0,
    LastHeight: 0
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    if (options.id) {
      this.data.paramsId = options.id;
    }
    this.getListData(true);
  },
  setExplainFlag() {
    this.setData({
      explainFlag: !this.data.explainFlag,
    });
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },
  imgHeight: function (e) {
    var winWid = wx.getSystemInfoSync().windowWidth; //获取当前屏幕的宽度
    var imgh = e.detail.height; //图片高度
    var imgw = e.detail.width; //图片宽度
    var swiperH = winWid * imgh / imgw + "px"; //等比设置swiper的高度。 即 屏幕宽度 / swiper高度 = 图片宽度 / 图片高度  ==》swiper高度 = 屏幕宽度 * 图片高度 / 图片宽度
    if (parseInt(swiperH) > this.data.LastHeight) {
      this.setData({
        Height: swiperH, //设置高度
      });
      this.data.LastHeight = parseInt(swiperH);
    }
  },
  setTabsIndex(evt) {
    console.log(evt);
    let index = evt.detail.index;
    this.data.tabs_index = index;
    this.getListData();
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  tapUrl(e) {
    let link = e.currentTarget.dataset.url;
    if (link == "") return false;
    try {
      wx.navigateTo({
        url: link,
      });
    } catch (err) {
      console.log(err);
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    if (this.data.isLoadMore) {
      this.getMoreData();
    } else {
      console.log("没有更多数据");
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    let value = wx.getStorageSync("yz_uid");
    let mid = "";
    if (value) {
      mid = value;
    }
    return {
      title: this.data.shareConfig.share_title,
      path: '/packageI/groupWork/groupWorkIndex/groupWorkIndex?&mid=' + mid,
      imageUrl: this.data.shareConfig.share_thumb
    };
  },


  initPage() {
    this.setData({
      listData: [],
      networkLoading: false
    });
    this.data.page = 1;
    this.data.total_page = 0;
    this.data.isLoadMore = true;

  },
  getListData(tag) {
    this.initPage();
    let urlStr = app.getNetAddresss("plugin.group-work.frontend.controllers.page.index");

    let {
      tabs_index,
      tabs_list,
      searchText
    } = this.data;
    if (tabs_list.length != 0) {
      urlStr += "&search[category_id]=" + tabs_list[tabs_index].id;
    } else {
      urlStr += "&search[category_id]=" + this.data.paramsId;
    }
    if (searchText != '') {
      urlStr += "&search[title]=" + searchText;
    }

    app._postNetWork({
      url: urlStr,
      success: (resdata) => {
        var res = resdata.data;
        if (res.result != 1) return app.tips(res.msg);
        let changeData = {};
        if (!this.data.firstLoading) {
          changeData['tabs_list'] = [{
            title: "全部",
            id: 0
          }].concat(res.data.category_list);
          if (tag) {
            changeData.tabs_list.forEach((val, index) => {
              if (val.id == this.data.paramsId) {
                this.setData({
                  tabs_index: index
                });
              }
            });
          }

          changeData['banner_list'] = res.data.banner_list;
          changeData['explainText'] = res.data.explain;
          changeData['firstLoading'] = true;
          wx.setNavigationBarTitle({
            title: res.data.costum_name
          });
          this.data.shareConfig.share_title = res.data.share_title;
          this.data.shareConfig.share_thumb = res.data.share_thumb;
        }
        changeData['isLoadMore'] = true;
        changeData['total_page'] = res.data.page_list.last_page;
        changeData['listData'] = res.data.page_list.data;
        changeData['networkLoading'] = true;
        this.setData(changeData);

        if (!this.data.total_page) {
          this.data.total_page = 0;
        }

      }
    });
  },
  //获取更多数据
  getMoreData() {
    let urlStr = app.getNetAddresss("plugin.group-work.frontend.controllers.page.index");
    // 防止多次请求分页数据
    this.data.isLoadMore = false;
    if (this.data.page >= this.data.total_page) {
      return;
    } else {
      this.data.page++;
      let json = {
        page: this.data.page
      };

      let {
        tabs_index,
        tabs_list,
        searchText
      } = this.data;
      if (tabs_list.length != 0) {
        urlStr += "&search[category_id]=" + tabs_list[tabs_index].id;
      }
      if (searchText != '') {
        urlStr += "&search[title]=" + searchText;
      }

      app._getNetWork({
        url: urlStr,
        data: json,
        success: (resdata) => {
          var res = resdata.data;
          if (res.result == 1) {
            this.data.isLoadMore = true;
            var myData = res.data.page_list.data;
            this.setData({
              listData: this.data.listData.concat(myData)
            });
          } else {
            this.data.isLoadMore = false;
            this.data.page--;
          }
        }
      });
    }
  },

  onSearch(e) {
    console.log(e);
    let value = e.detail.value;
    this.data.searchText = value;
    this.getListData();
  },
  clearSearch() {
    this.setData({
      searchText: ''
    });
  },
  gotoUrl(e) {
    if (e.detail) {
      wx.navigateTo({
        url: '/packageA/detail_v2/detail_v2?activity_id=' + e.detail + '&name=99'
      });
    }
  }
});